#include #include struct node{ int x,y,d; }; node e[100010]; int len=0; int F[100010]; int find(int x) { if(F[x]==x) return x; else { F[x]=find(F[x]); return F[x]; } } void qsort(int l,int r) { int i=l,j=r; node m,t; m=e[(l+r)/2]; while(i<=j){ while(e[i].dm.d) j--; if(i<=j){ t=e[i]; e[i]=e[j]; e[j]=t; i++; j--; } } if (l